#pragma once
#include <ctime>
#include <cstdint>

namespace kanon
{
    class Timer
    {

    };

    
    /*
    * Periodically 
    */
    class PeriodicUpdater
    {
    private:
        float period;
        // Update()
        float prev_time;
        // Update(dt)
        float accu_time;
        float prev_time1;

    public:
        PeriodicUpdater(float period);

        // Update() and Update(dt) are distinct system
        // do not use them alternately.
        uint32_t Update();
        uint32_t Update(float deltaTime);
    private:
        float GetTime();
    };
}